Solid state drives (SSDs) are increasing in popularity over traditional hard disk drives (HDDs) for several reasons. SSDs provide up to 66-percent faster responsiveness compared to hard drives, allowing faster boot-up, application launch, and re-loading. SSDs have no moving parts for higher reliability and longer life span. SSDs are sufficiently rugged enough to withstand bumps and shocks without data loss due to a “head crash” common with the close physical tolerance between a read/write head and conventional rotating media surface, and SSDs have lower power consumption which extends battery life. In host computing devices employing a mass storage device, such as laptops, tablets, and other mobile and desktop devices, SSDs are therefore becoming popular as suitable replacements for the HDD as the primary mass storage device. Further, the advantages of SSDs are not only limited to client computing devices such as portable/personal electronic devices, but are also very popular in the enterprise segment for more demanding applications due to their better performance and reliability over rotating media surfaces such as those in conventional HDDs.
While SSDs employ non-volatile memory such as NAND flash memory, certain functions may be reserved for onboard volatile memory such as Dynamic Random Access Memory (DRAM). In operation, during a “clean” (i.e. expected or user initiated) shutdown, most host systems initiate a shutdown or idle command to an SSD to give the SSD enough time to prepare for the shutdown. This allows the SSD to save data or internal state currently in temporary buffers of the volatile memory to the non-volatile media. However, during an unexpected or sudden power shutdown, the SSD abruptly loses power before the host system can initiate the appropriate command. This may prevent data in the temporary buffers in the volatile memory from being saved in the non-volatile memory.